#ifndef __USBD_DESC_H__
#define __USBD_DESC_H__

#ifdef USBCON

#define DEVICE_ID1          (UID_BASE)
#define DEVICE_ID2          (UID_BASE + 0x04)
#define DEVICE_ID3          (UID_BASE + 0x08)

#define USB_SIZ_STRING_SERIAL   0x1A

// extern USBD_DescriptorsTypeDef USBD_Desc;

/* Common function */
uint8_t *USBD_LangIDStrDescriptor(uint16_t *length);
uint8_t *USBD_ManufacturerStrDescriptor(uint16_t *length);
uint8_t *USBD_SerialStrDescriptor(uint16_t *length);

/* Class specific */
uint8_t *USBD_Class_DeviceDescriptor(uint16_t *length);
uint8_t *USBD_Class_ProductStrDescriptor(uint16_t *length);
uint8_t *USBD_Class_ConfigStrDescriptor(uint16_t *length);
uint8_t *USBD_Class_InterfaceStrDescriptor(uint16_t *length);

#endif

#endif // __USBD_DESC_H__